package com.handpay.framework.fastjson;


import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;

import java.util.List;
import java.util.Map;

/**
 * fastJson<br/>
 * 根据需求返回所需要的数据格式
 *
 * @author xiaoshi
 */
public class FastJsonHelper {
    /***
     * @param jsonString 需要解析的json字符串
     * @param cls        需要转换的javaBean.class
     * @param <T>        需要转换的javaBean
     * @return 返回任意<T>对象
     */
    public static <T> T getObject(String jsonString, Class<T> cls) {
        return JSON.parseObject(jsonString, cls);
    }

    /***
     * @param jsonString 需要解析的json字符串
     * @param cls        需要转换的javaBean.class
     * @param <T>        需要转换的javaBean
     * @return 返回任意List<T>对象集合
     */
    public static <T> List<T> getObjects(String jsonString, Class<T> cls) {
        return JSON.parseArray(jsonString, cls);
    }

    /**
     * @param jsonString jsonString 需要解析的json字符串
     * @return 返回任意List 集合
     */
    public static List<Map<String, String>> getKeyMapsList(String jsonString) {
        List<Map<String, String>> list;
        list = JSON.parseObject(jsonString, new TypeReference<List<Map<String, String>>>() {
        });
        return list;
    }
}  
